package com.ruoyi.event.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.AreaName;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.annotation.UserDrugInfo;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;

import java.util.Date;


/**
 * 地址变更视图对象 event_dzbg
 *
 * @author strongme
 * @date 2023-02-04
 */
@Data
@ExcelIgnoreUnannotated
public class EventDzbgVo implements EventInfo {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long dzbgId;

    /**
     * 吸毒人员id
     */
    @ExcelProperty(value = "吸毒人员id")
    private Long userId;

    @UserDrugInfo
    public Object getUserInfo() {
        return userId;
    }

    /**
     * 变更原因
     */
    @ExcelProperty(value = "变更原因", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "bgyy")
    private String bgyy;

    /**
     * 现执行地
     */
    @ExcelProperty(value = "现执行地")
    private String xzxd;

    @AreaName
    public String getXzxdName() {
        return xzxd;
    }

    /**
     * 变更后地址
     */
    @ExcelProperty(value = "变更后地址")
    private String bghdz;

    @AreaName
    public String getBghdzName() {
        return bghdz;
    }

    /**
     * 戒毒/康复起始时间
     */
    @ExcelProperty(value = "戒毒/康复起始时间")
    private Date jdkfqssj;

    /**
     * 戒毒/康复结束时间
     */
    @ExcelProperty(value = "戒毒/康复结束时间")
    private Date jdkfjssj;

    /**
     * 变更原因附件
     */
    @ExcelProperty(value = "变更原因附件")
    private String bgyyfj;

    /**
     * 接收地工作部门意见
     */
    @ExcelProperty(value = "接收地工作部门意见")
    private String jsdgzbmyj;

    /**
     * 接收地工作部门签名
     */
    @ExcelProperty(value = "接收地工作部门签名")
    private String jsdgzbmqm;

    /**
     * 接收地工作部门日期
     */
    @ExcelProperty(value = "接收地工作部门日期")
    private Date jsdgzbmrq;

    /**
     * 接收地工作小组意见
     */
    @ExcelProperty(value = "接收地工作小组意见")
    private String jsdgzxzyj;

    /**
     * 接收地工作小组签名
     */
    @ExcelProperty(value = "接收地工作小组签名")
    private String jsdgzxzqm;

    /**
     * 接收地工作小组日期
     */
    @ExcelProperty(value = "接收地工作小组日期")
    private Date jsdgzxzrq;

    /**
     * 执行地工作站意见
     */
    @ExcelProperty(value = "执行地工作站意见")
    private String zxdgzzyj;

    /**
     * 执行地工作站签名
     */
    @ExcelProperty(value = "执行地工作站签名")
    private String zxdgzzqm;

    /**
     * 执行地工作站日期
     */
    @ExcelProperty(value = "执行地工作站日期")
    private Date zxdgzzrq;

    /**
     * 执行地领导小组意见
     */
    @ExcelProperty(value = "执行地领导小组意见")
    private String zxdldxzyj;

    /**
     * 执行地领导小组签名
     */
    @ExcelProperty(value = "执行地领导小组签名")
    private String zxdldxzqm;

    /**
     * 执行地领导小组日期
     */
    @ExcelProperty(value = "执行地领导小组日期")
    private Date zxdldxzrq;

    /**
     * 接收方审核状态
     */
    @ExcelProperty(value = "接收方审核状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "shzt")
    private String status;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    private Date createTime;
    private Date updateTime;


    @Override
    public Long getId() {
        return dzbgId;
    }

    @Override
    public String getText() {
        return bgyy;
    }

    @Override
    @JsonFormat(pattern = "yyyy-MM-dd")
    public Date getTime() {
        return createTime;
    }
}
